package com.unitd.frame.comm.utils;

import java.util.List;

/**
 * @desc 数组工具类, 此类中定义一些对于数组操作的共有方法, 方便后续工程代码调用
 * @filename ArrayUtils.java
 * @copyright www.unitd.com
 * @author Hudan
 * @version 1.0
 * @date 2017/4/19
 */
public class ArrayUtils {

	/**
	 * @desc 将字符串数组按照指定的分隔符拼接成字符串
	 * @param sArr  需要进行组装的字符串数组
	 * @param split 分隔符(需要拼接到数组中)
	 * @return
	 */
	public static String toStr(String[] sArr, String split) {
		String retStr = "";
		if (sArr == null || sArr.length == 0) {
			return retStr;
		}

		StringBuilder sb = new StringBuilder();
		for (String str : sArr) {
			sb.append(str).append(split);
		}
		retStr = sb.toString();
		return retStr.substring(0, retStr.length() - 1);
	}

	/**
	 * @desc 获取字节数组中指定起始和终止位置的数据组成新的字符数组
	 * @param inbyte 原始字符数组
	 * @param pos    起始位置
	 * @param len    终止位置
	 * @return
	 */
	public static byte[] subByteArray(byte[] inbyte, int pos, int len) {
		byte[] retbyte = new byte[len];
		for (int i = 0; i < len; i++) {
			retbyte[i] = inbyte[pos + i];
		}
		return retbyte;
	}

	public static void main(String[] args) {
//		String str = "A1,A2,A3,B1,B3,B5,C1,C4,C6,C7,C0";
		String str = null;
		List<String> list = StringUtils.toList(str, ",");
		System.out.println(list);
		System.out.println("====================");
		String[] sArr = (String[]) list.toArray();
		System.out.println(toStr(sArr, ","));
	}
}